The Storage Management Initiative Specification (SMI-S) provides a standard for information technology (IT) clients to follow when managing the storage devices and the like of any SMI-S compliant storage vendors. Among its many requirements, the SMI-S standard specifies some notifications when a resource is deleted (deletion indications). That is, the SMI-S standard specifies mandatory deletion indication filters on specific classes be supported.
However, when a resource deletion occurs, not all of the information (e.g., certain property values) that may need to be returned with the deletion indication remains available at the underlying framework that provides the deletion indication. By way of example, when a deletion indication arrives from the framework, some values needed by SMI-S for the deletion indication may be unavailable and the framework only provide key properties of the corresponding instance in SourceInstance. As a more particular example, when a framework deletion indication on a host instance is provided, its property Type (Host, Subnet or Netgroup) that tells whether it corresponded to a CIM_SCSIProtocolController instance is not in SourceInstance. This related property value set (one or more property values) cannot be obtained from the framework because of a result of the deletion, it is no longer available at the framework.
Redesigning and implementing the framework to provide all properties in underlying indication is possible, but would take an extremely significant amount of effort, and would be very risky with respect to being likely to introduce regressions. Another solution is to have a full cache containing all of the possibly needed information, and then use a polling thread to (periodically) detect the change by comparison against the current data. Such a solution is highly inefficient in performance, including in terms of memory and CPU usage, particularly when the number of instances is on the order of tens of thousands.